package com.ruoyi.custom.mapper;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.ruoyi.custom.domain.Custom;
import com.ruoyi.custom.domain.vo.CustomVo;
import io.lettuce.core.dynamic.annotation.Param;

/**
 * 客户Mapper接口
 * 
 * @author ruoyi
 * @date 2025-07-24
 */
public interface CustomMapper  extends BaseMapper<Custom>
{
    /**
     * 查询客户
     * 
     * @param id 客户主键
     * @return 客户
     */
    public Custom selectCustomById(Long id);

    /**
     * 查询客户列表
     * 
     * @param custom 客户
     * @return 客户集合
     */
    public List<CustomVo> selectCustomList(Custom custom);

    public List<CustomVo> selectCustomListData(Custom custom);

    /**
     * 新增客户
     * 
     * @param custom 客户
     * @return 结果
     */
    public int insertCustom(Custom custom);

    public CustomVo getDayToPool(Long id);

    /**
     * 修改客户
     * 
     * @param custom 客户
     * @return 结果
     */
    public int updateCustom(Custom custom);

    public int sendCustom(CustomVo customVo);


    /**
     * 删除客户
     * 
     * @param id 客户主键
     * @return 结果
     */
    public int deleteCustomById(Long id);

    /**
     * 批量删除客户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCustomByIds(Long[] ids);

    public List<Custom> selectByDate(@Param("date") Date date);

    public int updateCustomPool();

    //首页数量统计
    public Map<String,Object> getIndexCount();

    public Map<String,Object> getIndexTableCount();


}
